Portable and composable real-time software - a disruptive approach
نویسنده
چکیده
ions in general-purpose programming languages Abstractions in embedded, hard real-time programming languages (5) Aspect-Oriented Programming (AOP) harnesses metaprogramming to improve the modularization of software (5) TDL-AOP for a better structuring of embedded software and avoidance of replicated code ) well-structured, maintainable code (4) domain-specific language extensions, for example, class=component libraries for Graphical User Interfaces (GUIs) (4) relevant aspects of control theory: 10=1 rule for actuator updates, advance calculation ) high-quality controllers with minimal hardware resources (3) object-orientation (abstract data types, inheritance, dynamic binding) (3) dynamic loading of TDL modules; instantiable TDL modules (e.g., for specifying redundancy in fault-tolerant systems); TDL mode extension through inheritance ) reusability of TDL components (2) modules (information hiding through abstract data structures) as means for component-based reuse and for structuring large software systems (2) TDL module ) transparent distribution (1) basic language abstractions and hierachical structuring constructs (functions and procedures) as foundation of high-level, platform-independent programming languages (1) Logical Execution Time (LET) ) determinism, portability originalarbeiten W. Pree Portable and composable real-time software – a disruptive approach heft 1–2.2007 | 11 Jänner/Februar 2007 | 124. Jahrgang tions and procedures set the stage of significanty more platformindependent programming in the late 1950s and 1960s. This ended the tedious machine level and assembly coding. (2) The module was invented as means to structure software in the large and to provide reusable software components. Modula and Ada as typical representatives of modular languages were defined in the 1970s and 1980s. (3) Object-oriented languages improved the reusability of modules. The class construct as instantiable module was originally provided by Simula in the 1960s. Smalltalk (1970s) and later on Cþþ (1980s), Java (1990s) and C# (2000) pushed object-orientation as common programming paradigm into the main stream. (4) Domain-specific extensions of languages have been delivered as class or component libraries since the 1980s. GUI (Graphical User Interface) libraries represent one important example of such a domain-specific extension. (5) So-called aspect-oriented programming (AOP), proposed in the 1990s, is heralded as post-object-oriented programming paradigm. It harnesses meta-programming to be able to modify the semantics of a programming language in order to improve the modularization of software. The items (1) and (2) in the right column of Table 1 summarize the achievements of the Giotto and MoDECS projects towards closing the gap between embedded and non-embedded software development: The pioneering LET abstraction delivers the important software property determinism and together with the TDL component model forms the foundation of transparent distribution (see section 4). TDLþ aims at delivering (3), (4) and (5) in the right column of Table 1. Radical innovation is required to invent and shape these missing abstractions: as (1) and (2) corroborate, the abstractions of high-level general purpose programming languages cannot be transferred directly to the real-time domain. For example, a module in general-purpose programming languages comprises other entities than a TDL module which has been defined according to the characteristics of hard real-time embedded systems. The same is true for the LET abstraction. The concepts and intentions of general-purpose programming language abstractions serve only as inspiration for the corresponding abstractions in the embedded hard real-time domain. 6.1 Expected results TDL has already been seamlessly integrated with Matlab=Simulink, which has been established as industry standard for modeling control applications. We accomplished the integration in the MoDECS project and called it the TDL:VisualCreator tool. This tool will be extended to comprise the TDLþ extensions. The fully automated code generation and the TDL run-time system guarantee that the behavior of a TDL module corresponds exactly to its specification. This is a characteristic and a principal advantage of model-based software development. The conventional way of showing the correctness of the code generators is by testing various sample applications. Instead of just testing the code generators we aim at verifying the most critical generator tool in the TDLþ project, the bus schedule generator. This represents another significant contribution to full-fledged model-based software development. To sum up, the principal goals of the planned future research activities are the following: " full-fledged model-based development by inventing and implementing abstractions (3), (4), and (5), resulting in the modeling language TDLþ; some of the control engineering enhancements (4) have already been accomplished " corresponding extensions of the MatLab=Simulink integration, that is, the TDLþ:VisualCreator tool " verification of the bus schedule generator 6.2 Practical relevance The TDL tools are currently used and evaluated by automotive suppliers and OEMs, in particular in the realm of time-triggered distributed systems development with FlexRay and with EtherCAT. TDL will also be used in the realm of the 2007 DARPA Urban Grand Challenge in the vehicle developed by the University of California, Berkeley. 7. Conclusion The LET abstraction invented in the realm of the Giotto project paved theway for transparent distribution in real-time systems. From our own experience and the feedback from various industry partners we are convinced that this novel approach is a breakthrough that will lead to significantly more robust embedded software and will at the same time reduce the costs of development and integration testing. Acknowledgements We thank the MoDECS project team at the University of Salzburg for providing valuable input during informal discussions and group meetings. This research was supported in part by the FIT-IT Embedded Systems grant 807144 provided by the Austrian government through its Bundesminsterium für Verkehr, Innovation und Technologie.
منابع مشابه
Towards Composable Timing for Real-Time Software
Real-time software is increasing in size and complexity, precipitating the need for advanced modeling and analysis capabilities early in the software development process. One particular concern is the lack of sufficient methods and tools to effectively reason about the timing of software in such a way that software systems can be constructed hierarchically from components while still guaranteei...
متن کاملModeling and simulation of timing behavior with the Timing Definition Language ( TDL )
Most of the existing modeling methods and tools for embedded application development use levels of abstraction where execution and communication times of computational tasks are not adequately captured. Thus, properties such as time and value determinism, which are crucial for safety-critical real-time systems, cannot be guaranteed when refining the model to move it closer to a target platform....
متن کاملPETSc’s Software Strategy for the Design Space of Composable Extreme-Scale Solvers
Emerging extreme-scale architectures present new opportunities for broader scope of simulations as well as new challenges in algorithms and software to exploit unprecedented levels of parallelism. Composable, hierarchical solver algorithms and carefully designed portable software are crucial to the success of extremescale simulations, because solver phases often dominate overall simulation time...
متن کاملVibrotactile Identification of Signal-Processed Sounds from Environmental Events Presented by a Portable Vibrator: A Laboratory Study
Objectives: To evaluate different signal-processing algorithms for tactile identification of environmental sounds in a monitoring aid for the deafblind. Two men and three women, sensorineurally deaf or profoundly hearing impaired with experience of vibratory experiments, age 22-36 years. Methods: A closed set of 45 representative environmental sounds were processed using two transposing (TRH...
متن کاملAn architectural approach with separation of concerns to address extra-functional requirements in the development of embedded real-time software systems
A large proportion of the requirements on embedded real-time systems stems from the extra-functional dimensions of time and space determinism, dependability, safety and security, and it is addressed at the software level. The adoption of a sound software architecture provides crucial aid in conveniently apportioning the relevant development concerns. This paper takes a software-centred interpre...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Elektrotechnik und Informationstechnik
دوره 124 شماره
صفحات -
تاریخ انتشار 2007